Main/CS349W Project3
= Project 3 - Implement a New Reusable Web Interaction = In the final project for CS349W you will design and implement a new Web interaction. There are two goals for this project: * Create a new style of interaction, one you haven't seen before. Your interaction does not need to be a complete application; it can be a small interaction on the same scale that we saw in the first project. The goal is to experiment with a new way for humans to interact with Web applications. * Figure out how your interaction could be implemented as a reusable component. One way to do this is by implementing your interaction as a reusable component (perhaps for some existing framework). If that isn't possible within the time constraints of the project, then describe what it would take to make your interaction a reusable component (e.g., explain how it could be implemented within an existing framework in a way that would make it easy to reuse, or hypothesize a new framework that would make your interaction reusable and describe how your interaction would fit in that framework). You can implement your interaction however you wish, as long as it is accessible using the Firefox Web browser. You can use existing Web frameworks and/or Javascript libraries, or you can build your interaction from scratch. The choice is up to you, but you should be prepared to explain in your report and presentation why you chose your particular approach. Project Deliverables At the end of this project you'll make a short presentation to the class about the package that you have analyzed, and also produce a short written report attached to this Wiki just like the previous projects. Your presentation and write-up should include the following information: * How does your interaction work from the user's standpoint? What makes it useful? * How is your interaction implemented? For example, you might describe the split of functionality between server and browser, any framework or libraries you used, as well as any interesting coding techniques or DOM facilities that you used. There's no need to show detailed code unless there is something conceptually interesting about the code details. * How is your interaction encapsulated as a reusable component, or how could it be encapsulated? Are there any particular framework facilities that would be needed to make your interaction easy to reuse? If your interaction is hard to encapsulate, please explain what it is about your interaction that makes it hard to encapsulate. * Summarize what you think are the strengths and weaknesses of your interaction and its implementation. Class Presentations For this project you should plan on a 5-10-minute presentation in class. This is enough time for about 3-5 PowerPoint slides. Be sure to demo your interaction! Schedule Here is the tentative schedule for the project (this may change!): Mon. Nov. 10, 5:00 P.M. - Team and topic selected Fri. Dec. 5 - First in-class presentations Mon. Dec. 8 - Weds. Dec. 10 - Remaining in-class presentations (time TBD) Mon. Dec. 8, 5:00 P.M. - Reports due Teams and Topics Once you have chosen a partner for this project please enter your names in the list below, along with a 5-10-word description of your project (not more than one singleton, please): * Jing Chen (Keyboard shortcuts to scroll through images or other items on a page) * Seng Keat Teh & Not Determined Yet (Control Knob/Dial/Sliding Control Dial) * Harry Robertson & Indrajit Khare * Okai Addy & Liz Li (interactive budget tool with automatic update?) * Johnny Zhou & Juho Kim (highly interactive treeview) Looking for a partner * Matt Martin (email: mbmartin)